

public typealias WechatPayResult = Bool
public typealias WechatPayCompletion = (WechatPayResult, NSError?, Any?) -> ()
public class StaticSwift {
    
    private let key: String!
    public init(key: String) {
        self.key = key;
    }
    
    public func startPay(order: AnyObject, completion: @escaping WechatPayCompletion) {
        NSLog("StaticSwift startPay: \(String(describing: order.description))")
        completion(true, nil, [
            "code": 30000,
            "msg": "支付成功",
            "data": [
                "单号": "xxxxx",
                "日期": "1111-11-11 11:11:11",
                "金额": "111",
                "单位": "¥"
            ]
        ])
    }
}


/*
 Open 具备最高的访问权限。其修饰的类和方法可以在任意 Module 中被访问和重写；它是 Swift 3 中新添加的访问权限。
 Public 的权限仅次于 Open。与 Open 唯一的区别在于它修饰的对象可以在任意 Module 中被访问，但不能重写。
 Internal 是默认的权限。它表示只能在当前定义的 Module 中访问和重写，它可以被一个 Module 中的多个文件访问，但不可以被其他的 Module 中被访问。
 File-private 也是 Swift 3 新添加的权限。其被修饰的对象只能在当前文件中被使用。例如它可以被一个文件中的class，extension，struct共同使用。
 Private 是最低的访问权限。它的对象只能在定义的作用域内使用。离开了这个作用域，即使是同一个文件中的其他作用域，也无法访问。
 
 bundle
 https://www.jianshu.com/p/1699f537558a
 */
